package com.yisen.dasan.dao;

import com.alibaba.fastjson.JSONArray;
import com.yisen.dasan.pojo.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @AuthorList: LiuYiSen
 * @Date: 2020/10/21 12:24
 */
@Mapper
public interface QuestionnaireMapper {
    /**
     * 对表单表进行插入操作
     * @param form
     * @return
     */
    int addForm(Form form);

    /**
     * 对表单项表进行插入操作
     * @param formItem
     * @return
     */
    int addFormItem(FormItem formItem);

    /**
     * 对单选题表进行插入操作
     * @param list
     * @return
     */
    int addFormRadio(List<FormRadio> list);

    /**
     * 对填空题表进行插入操作
     * @param completion
     * @return
     */
    int addFormCompletion(FormCompletion completion);

    /**
     * 对简答题表进行插入操作
     * @param formField
     * @return
     */
    int addFormField(FormField formField);

    /**
     * 对数字表进行插入操作
     * @param formNumber
     * @return
     */
    int addFormNumber(FormNumber formNumber);

    /**
     * 对多选题表进行插入操作
     * @param list
     * @return
     */
    int addFormMultiple(List<FormMultiple> list);

    /**
     * 对图片单选题表进行插入操作
     * @param list
     * @return
     */
    int addFormImgRadio(List<FormImgRadio> list);

    /**
     * 对下拉选择表进行插入操作
     */
    int addSelect(List<Map> list);

    /**
     * 对姓名表进行插入操作
     * @param formName
     * @return
     */
    int addName(FormName formName);
    int addFormGender(List<Map> list);
    int addFormEducation(List<Map> list);
    int addFormAge(List<Map> list);
    int addFormIphone(Map map);
    int addFormEmail(Map map);
    int addFormMobile(Map map);
    int addFormBirthday(Map map);

    /**
     * 增加表单的访问次数
     * @param formId
     * @return
     */
    int addCount(@Param("formId")int formId);
}
